package com.wwinsoft.framework.utils;

import java.io.Serializable;

import org.apache.commons.lang.StringUtils;

import com.wwinsoft.framework.pojo.common.JsNode;
import com.wwinsoft.modules.utils.web.struts2.Struts2Utils;

/**
 * @author: Tim Chen
 * @since 1.0
 */
public class JsNodeHelper {

    public  static  JsNode prepareJsNode(Class<?> propertyType) {
        JsNode jsNode = new JsNode();
        String operation = Struts2Utils.getParameter("operation");
        if (StringUtils.isNotEmpty(operation)) {
            jsNode.setOperation(operation);
        }
        String id = Struts2Utils.getParameter("id");
        if (StringUtils.isNotEmpty(id)) {
            jsNode.setId(convertObject(propertyType, id));
        }
        String parentId = Struts2Utils.getParameter("parentId");

        if (StringUtils.isNotEmpty(parentId)) {
                jsNode.setParentId(convertObject(propertyType, parentId));
        }

        String position = Struts2Utils.getParameter("position");
        if (StringUtils.isNotEmpty(position)) {
            jsNode.setPosition(Double.valueOf(position));
        }
        String title = Struts2Utils.getParameter("title");
        if (StringUtils.isNotEmpty(title)) {
            jsNode.setName(title);
        }
        String type = Struts2Utils.getParameter("type");
        if (StringUtils.isNotEmpty(type)) {
            jsNode.setType(type);
        }

        String copy = Struts2Utils.getParameter("copy");
        if (StringUtils.isNotEmpty(copy) && copy.equals("1")) {
            jsNode.setCopy(true);
        } else {
            jsNode.setCopy(false);
        }
        return jsNode;
    }

    public  static Serializable  convertObject(Class<?> propertyType, String Object){
           if(propertyType.getName().equals("java.lang.Long")){
                return Long.valueOf(Object);
           } else{
               return Object;
           }
    }
}
